#include<bits/stdc++.h>
using namespace std;
const int N = 200005;
typedef long long ll;
int n, T[N], k[N];
ll ans = 0;
int e[N], ne[N], h[N], idx;
bool st[N];
void add(int a, int b) {
     e[idx] = b, ne[idx] = h[a], h[a] = ix ++;
}
ll bfs() {
     queue<int> q;
     for (int i = h[n]; ~i; i = ne[i ]){
           int j = e[i];
           q.push(j);
           // cout << j << " ";
     }
     ans += T[n];
     while (!q.empty( )){
           int t = q.front();
           q.pop();
           if (!st[t])
                ans += T[t];
           st[t] = true;
           for (int i = h[t]; ~i; i = ne [i]){

                int j = e[i];
                // cout << ne[i] << " ";
                if (! st[j]){
                     q.push(j);
                     // cout << "1" << endl;
                     // st[j] = true;
                }
           }
     }
     return ans;
}
int main() {
     ll ans = 0;
     cin >> n;
     memset(h, -1, sizeof h);
     for (int i = 1; i <= n; i+ +){
           cin >> T[i] >> k[i];
           for (int j = 1; j <= k[i];  j++){
                int a;
                cin >> a;
                add(i, a);
           }
     }
     // ans += t[n];
     // for (int i = h[n]; ~i; i = ne[i]){
     //     int j = e[i];
     //     st[j] = true;
     //     ans += t[j];
     //     // cout << j << " ";
     // }
     // for (int i = 1; i <= n; i++){
     //     if (st[i]){

     //     }
     // }
     ll t = bfs();
     cout <<t ;
}